#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QPainter>     //画家类
#include <QTimer>       //定时器
#include "mypushbutton.h"


//实现翻金币的小游戏

//图片按钮的创建（自定义按钮类）
//点击按钮动画的实现

//点击按钮后 隐藏旧窗口 显示新窗口（关卡选择）

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //配置主场景

    //界面固定大小
    setFixedSize(320, 590);

    //设置图标
    setWindowIcon(QIcon(":/res/Coin0001.png"));

    //设置标题
    setWindowTitle("翻金币-主界面");

    //退出按钮实现
    connect(ui->actionexit, &QAction::triggered, [=](){
        this->close();
    });

    //实例化选择关卡页面
    chooseScene = new ChooseLevelScene;

    //监听返回按钮是否按下（返回主页面）
    connect(chooseScene, &ChooseLevelScene::clickedBack, [=](){
        QTimer::singleShot(200, this, [=](){
            //延时200ms，将this对象 执行下列程序
            //设置界面位置保持一致
            this->setGeometry(chooseScene->geometry());
            qDebug() << "返回主界面";
            chooseScene->hide();    //隐藏选择界面
            this->show();           //显示主界面
        });
    });

    //设置开始按钮（跳转到选择页面）
    MyPushButton * btn_start = new MyPushButton(":/res/MenuSceneStartButton.png");
    btn_start->setParent(this);
    btn_start->move(this->width() * 0.5 - btn_start->width() * 0.5, this->height() * 0.7);
    connect(btn_start, &QPushButton::clicked, [=](){
        //此处可继续改进：当多次按下时 按钮位置会改变（可以在调用动画前重置按钮位置即可）
        qDebug() << "开始";
        btn_start->move_down_up();

        //延时进入到选择界面（显示按钮动画）
        QTimer::singleShot(200, this, [=](){
            //200ms后 让this对象 执行下列函数
            //隐藏主界面 显示选择界面
            //保持位置一致
            chooseScene->setGeometry(this->geometry());
            this->hide();
            chooseScene->show();
        });
//        static int temp = 0;
//        qDebug() << "点击了";
//        if(!temp)
//        {
//            temp = !temp;
//            btn_start->moveDown();
//        }
//        else
//        {
//            temp = !temp;
//            btn_start->moveUp();
//        }
    });
}

//画背景图
void MainWindow::paintEvent(QPaintEvent *event)
{
    //背景图
    QPainter painter(this);
    QPixmap pix;
    //背景图
    pix.load(":/res/MenuSceneBg.png");
    painter.drawPixmap(0, 0, this->width(), this->height(), pix);   //将图片按照窗口拉伸
//    //游戏图标
//    pix.load(":/res/Title.png");
//    pix = pix.scaled(pix.width() * 0.5, pix.height() * 0.5);
//    painter.drawPixmap(0, 0, pix);
}

MainWindow::~MainWindow()
{
    delete ui;
}

